home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / TASMSWAN.ZIP / $README.DOC next >
Text File  |  1989-07-18  |  6KB  |  164 lines

  1. *********************************************************************
  2. Source code from the book:
  3.  
  4.           Mastering
  5.         Turbo Assembler
  6.  
  7.         by Tom Swan
  8.         (Hayden,1989)
  9.  
  10. ***********************************************************************
  11.  
  12.  
  13. PART I  Programming with the Turbo Assembler
  14.  
  15. -1-  Intro
  16.  
  17. -2- First steps
  18.     FF.asm        - sends form feed to printer
  19.     COMSHELL.asm     - shell for *.COM files
  20.     EXESHELL.asm      - shell for *.EXE files
  21.     PR132.asm      - selects compressed 132-character printer output
  22.  
  23. -3- A bit of binary
  24.  
  25. -4- Using Turbo Assembly language instructions
  26.        These are used with the Turbo Debugger as detailed in the book.
  27.     MOV.asm        - MOV demo
  28.     PUSHPOP.asm     - PUSH/POP demo
  29.     ADDSUB.asm     - ADD/SUB/INC/DEC demo
  30.     MULDIV.asm     - MUL/DIV/IMUL/IDIV demo
  31.     ANDORXOR.asm     - AND/OR/XOR demo
  32.     SHIFT.asm       - SHIFT demo
  33.     SUBDEMO.asm     - Subroutine demo
  34.  
  35. -5- Simple data structures
  36.     STRINGS.asm     - string procedures
  37.     STRIO.asm       - string i/o procedures
  38.     ECHOSTR.asm     - string read test
  39.     MAIN/MODULE.asm - simplified external example
  40.  
  41. -6- Complex data structures
  42.     STRUC.asm       - structure demo for Turbo DEBUGGER
  43.     VERSION.asm     - automatic program version demo
  44.     BINASC.asm      - binary to ascii conversion routines
  45.     EQUIP.asm       - displays PC equipment information
  46.     CONVERT.asm     - converts binary/hexadecimal/decimal numbers
  47.  
  48. -7- Input and Output
  49.     FILTER.asm     - filter shell
  50.     SCREEN.asm     - memory mapped video screen output routines
  51.     CHARS.asm       - displays character/attribute reference
  52.     KEYBOARD.asm    - keyboard input routines
  53.     KEYS.asm        - displays key values
  54.  
  55. -8- Macros and conditional turbo assembly
  56.     DOSMACS.asm     - subset of DOS Macros for Turbo Assembler (Ideal mode)
  57.  
  58. -9- Disk file processing
  59.     DISKERR.asm      - disk error handler
  60.     PARAMS.asm    - parse   DOS command-line parameters
  61.     SHOWPARAM.asm    - display  "    "      "     "
  62.     KOPY.asm    - copy input to output
  63.     DR.asm          - display disk directory
  64.  
  65. -10- Interrupt handling
  66.     SLOWMO.asm    - slow motion interrupt generator (to slow PC for games)
  67.     DIV286.asm      - 80286/386 divide-fault ISR installer
  68.     DIVFAULT.asm    - divide-fault demo
  69.     ASYNCH.asm     - asychronous serial communications module
  70.     TRM.asm      - terminal emulator w/control-code debugging
  71.     SINGLE.asm      - single-step (trap) demo
  72.  
  73. -11- Advanced topics
  74.     A. Binary Coded Decimals (popular in business applications).
  75.         BCD.asm        - bcd routines
  76.     B. Processing tables.
  77.         TABLE.asm    - using tables for gaining speed
  78.         BOXCHAR.asm     - uses table to map ALT keys to give
  79.                   box drawing characters
  80.     C. Using Segments in programs
  81.         HARDSHEL.asm     - shell for *.EXE files with Unsimplified Segments
  82.         COLDBOOT.asm    -  performs reboot
  83.     D. Programming the 80286
  84.         BOUND286.asm    - bound test (to be used ONLY on 80286/386 systems!)
  85.  
  86.  
  87. PART II  Multi-Language programming
  88.  
  89. -12- Optimizing "PASCAL"
  90.     PASSHELL.asm    - shell for TurboPascal *.OBJ modules
  91.     PASDEMO.asm     - a crazy demo of how to pass code/data between PASCAL/TASM
  92.     PASDEMO.pas     -  "     "          "    "             "   "
  93.     FILLSTR.asm     - external pascal string filler function
  94.     FILLSTR.pas     -      "            "             "
  95.     STR.pas         -  string conversion
  96.     STR.asm         -    "       "
  97.  
  98. -13- Optimizing "C"
  99.     TALLY.c     - short example of in-line assembly code
  100.     UPDOWN.c        - in-line assembly code function demo
  101.     CSHELL.asm      - shell for Turbo C *.obj modules
  102.     CFILLSTR.c      - calling assembly language functions from Turbo C demo
  103.     CFILLSTR.asm    -    "               "                "
  104.  
  105.  
  106. PART III   Reference
  107.  
  108. -14- 8086/88, 80286, 80386 Reference Guide
  109.  
  110. -15- Turbo Assembler Reference
  111.  
  112. Appendix 1 - Bibliography
  113.  
  114. Appendix 2 - Answers to Exercises
  115.  
  116. _____________________________________________________________________________
  117. Also ...
  118. -----------------------------------------------------------------------------
  119.  
  120. NOTE:      Now available on a public BBS near you is the
  121.     program ASMED.
  122.  
  123.     This program is great in that it adds the Turbo Pascal/Turbo C
  124.     Interactive Environment to TASM !!!!!!!!!!!!!!!!!
  125.     (well not quite but NICE try !)
  126.  
  127.  
  128. NOTE about TURBO ASSEMBLER's Ideal mode (from page 7 of book):
  129.  
  130.     "Turbo Assembler is actually two assemblers in one.
  131.     Normally, Turbo Assembler processes programs written in the popular MASM syntax.
  132.     For assembling programs downloaded from bullein boards, copied from time-share
  133.     systems, or gleaned from MASM books, this is the method to use.
  134.         (ALL ASM) Examples in this book use Turbo Assembler's
  135.     IDEAL MODE, which I believe to be superior to MASM syntax-especially
  136.     for writing stand-alone assembly language programs.  With IDEAL mode,
  137.     programs assemble faster and are less prone to developing bugs
  138.     that can result from MASM's many known quirks and syntactical freedoms.
  139.     (The Turbo Assembler User's Guide spells out the difference between
  140.     MASM & Ideal mode instructions.)
  141.         In addition to extra speed and the absence of Quirky behavior,
  142.     Ideal mode offers other advantages.  Structures (similar to Pascal records
  143.     or C structures) can repeat member field names.  Assembler directives are
  144.     easier to remember and use.  Equated symbols and expressions always
  145.     have predictable values.  And formats for various memory-addressing
  146.     modes must conform to generally recognized guidelines.  If you don't yet
  147.     grasp the significance of some of these items, you'll have to trust my
  148.     opinion: Ideal mode is what PC programmer's have needed for years.
  149.         Don't be concerned that, by learning Ideal mode, you'll be
  150.     shut out from using thousands of lines of MASM code in the public
  151.     domain.  After learning Ideal mode, you'll be able to read and
  152.     understand MASM-mode programs with Little effort.  Most differences
  153.     between the two modes of programming are subtle-a spelling change here,
  154.     an operand reversal there.  I regularly read & work in both syntaxes
  155.     without difficulty, but I prefer using Ideal mode for new projects."
  156.  
  157.  
  158. NOTE: this book comes with a handy Reference Card that contains
  159.       all the instructions for the 8086/8088/80286/80386 processors and
  160.       it comes with numerous Exercises at the end of each chapter with
  161.       answers for the exercises in the Appendix.
  162. ***********************************************************************
  163.  
  164.